#姓名：伍弘毅
#日期：2019年9月16日
#版本：V1.0
#功能：创建数值列表


##使用函数range()创建数值列表
#Python函数range()让你能够轻松地生成一系列的数字

#example1
for value in range(1, 5):
	print(value)

#上述代码好像应该打印数字1~5，但实际上它不会打印数字5
#range()只是打印数字1~4，这是你在编程语言中经常看到的差一行为的结果
#函数range()让Python从你指定的第一个值开始数，并在到达你指定的第二个值后停止
#因此输出不包含第二个值（这里为5）

#要打印数字1~5，需要使用range(1,6)

#example2
for value in range(1, 6):
	print(value)

#提示：使用range()时，如果输出不符合预期，请尝试将指定的值加1或减1
# 调用函数range() 时，也可只指定一个参数，这样它将从0开始。
# 例如，range(6) 返回数0～5。

##使用range()创建数字列表
#要创建数字列表，可使用函数list()将range()的结果直接转换为列表
#如果将range()作为list()的参数，输出将为一个数字列表

#example3
numbers = list(range(1, 6))
print(numbers)

#使用函数range()时，还可指定步长。例如，下面的代码打印1~10内的偶数

#example4
even_numbers = list(range(2, 11, 2))
print(even_numbers)
#在这个示例中，函数range()从2开始数，然后不断地加2，直到达到或超过终值

#使用函数range() 几乎能够创建任何需要的数字集
#例如，如何创建一个列表，其中包含前10个整数（即1~10）的平方呢？
#在Python中，两个星号（**）表示乘方运算
#下面的代码演示了如何将前10个整数的平方加入到一个列表中

#examaple5
squares = []
for value in range(1, 11):
	square = value ** 2
	squares.append(square)
	
print(squares)
#首先，我们创建了一个空列表;接下来，使用函数range()让Python遍历1~10的值
#在循环中，计算当前值的平方，并将结果存储到变量square中
#然后，将新计算得到的平方值附加到列表squares末尾；最后，循环结束后，打印列表squares

#为让这些代码更简洁，可不使用临时变量square ，而直接将每个计算得到的值附加到列表末尾

#example6
squares = []
for value in range(1, 11):
	squares.append(value ** 2)
	
print(squares)


##对数字列表执行简单的统计计算
#有几个专门用于处理数字列表的Python函数。
#例如，你可以轻松地找出数字列表的最大值、最小值和总和

#example7
digits = [1,2,3,4,5,6,7,8,9,0]
print(min(digits))
print(max(digits))
print(sum(digits))


##列表解析
#前面介绍的生成列表squares的方式包含三四行代码，
#而列表解析让你只需编写一行代码就能生成这样的列表
#列表解析将for循环和创建新元素的代码合并成一行，并自动附加新元素

#example8
squares = [value ** 2 for value in range(1, 11)]
print(squares)
#要使用这种语法，首先指定一个描述性的列表名，如squares
#然后，指定一个左方括号，并定义一个表达式，用于生成你要存储到列表中的值
#在这个示例中，表达式为value**2，它计算平方值
#接下来，编写一个for循环，用于给表达式提供值，再加上右方括号
#在这个示例中，for循环为for value in range(1, 11) ，它将值1~10提供给表达式value**2
#请注意，这里的for语句末尾没有冒号